﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Persistente;
using Persistente.Usuario;

namespace Negocio.Usuario
{
    public class NUsuario
    {
        public int idUsuario;
        public string nmUsuario;
        public string dsUsuario;
        public int idHash;
        public DateTime? dtNascimento;
        public string teEmail;
        public string teSenha;
        public string teUrl;
        public string teFoto;
        public DateTime? dtCadastro;
        public string nrCodigoAtivacao;
        public int idTipoPele;
        public int idCorPele;
        public int idCorCabelo;
        public int idTipoCabelo;
        public int idPerfilCompra;
        public string teNome;
        public string teSobrenome;
        public string csSexo; // deve ser M ou F
        public int idTipoUsuario;
        
        public int Salvar()
        {
            var obPUsuario = new PUsuario();
            return obPUsuario.Salvar(nmUsuario, idHash, dsUsuario, teNome, teSobrenome, csSexo, dtNascimento, teEmail, teSenha, teUrl, teFoto, dtCadastro, nrCodigoAtivacao, idTipoPele, idCorPele, idCorCabelo, idTipoCabelo, idPerfilCompra, idTipoUsuario);
        }

        public DataSet pegarUsuarios(string nmUsuario = null, int idHash = 0, string dsUsuario = null, string teNome =null, string teSobrenome=null, string csSexo=null, DateTime? dtNascimento = null, string teEmail = null, string teSenha = null, string teUrl = null, DateTime? dtCadastro = null, string nrCodigoAtivacao = null, int idTipoPele = 0, int idCorPele = 0, int idCorCabelo = 0, int idTipoCabelo = 0,  int idPerfilCompra = 0, int idTipoUsuario = 0)
        {
            var obPUsuario = new PUsuario();
            return obPUsuario.pegarUsuarios(nmUsuario, idHash, dsUsuario, teNome, teSobrenome, csSexo, dtNascimento, teEmail, teSenha, teUrl, dtCadastro, nrCodigoAtivacao, idTipoPele, idCorPele, idCorCabelo, idTipoCabelo, idPerfilCompra, idTipoUsuario);
        }


        public bool Remover(int idUsuario)
        {
            var obPUsuario = new PUsuario();
            return obPUsuario.Remover(idUsuario);
        }

        public void pegarUsuarioPorId()
        {
            var obPUsuario = new PUsuario();
            var obTbUsuario = obPUsuario.pegarUsuarioPorId(idUsuario);
            if (obTbUsuario != null)
            {
                idUsuario = obTbUsuario.id_usuario;
                dsUsuario = obTbUsuario.ds_usuario;
                nmUsuario = obTbUsuario.nm_usuario;
                teEmail = obTbUsuario.te_email;
                teSenha = obTbUsuario.te_senha;
                teUrl = obTbUsuario.te_url;
                dtNascimento = obTbUsuario.dt_nascimento;
                idHash = obTbUsuario.id_hash;
                idCorPele = obTbUsuario.cor_pele_id_cor_pele;
                idTipoPele = obTbUsuario.tipo_pele_id_tipo_pele;
                idTipoUsuario = obTbUsuario.tipo_usuario_id_tipo_usuario;
                idCorCabelo = obTbUsuario.cor_cabelo_id_cor_cabelo;
                idTipoCabelo = obTbUsuario.tipo_cabelo_id_tipo_cabelo;
                teFoto = obTbUsuario.te_foto;
                dtCadastro = obTbUsuario.dt_cadastro;
                teNome = obTbUsuario.te_nome;
                teSobrenome = obTbUsuario.te_sobrenome;
                csSexo = obTbUsuario.cs_sexo;
                idPerfilCompra = obTbUsuario.perfil_compra_id_perfil_compra;
            }
        }

        public bool Alterar(int idUsuario)
        {
            var obPUsuario = new PUsuario();
            var obTbUsuario = new tb_usuario();
            obTbUsuario.nm_usuario = nmUsuario;
            obTbUsuario.ds_usuario = dsUsuario;
            obTbUsuario.te_email = teEmail;
            //obTbUsuario.te_senha = teSenha;
            obTbUsuario.te_url = teUrl;
            obTbUsuario.id_hash = idHash;
            obTbUsuario.dt_nascimento = dtNascimento;
            obTbUsuario.cor_cabelo_id_cor_cabelo = idCorPele;
            obTbUsuario.tipo_cabelo_id_tipo_cabelo = idTipoCabelo;
            obTbUsuario.cor_pele_id_cor_pele = idCorPele;
            obTbUsuario.tipo_pele_id_tipo_pele = idTipoPele;
            obTbUsuario.tipo_usuario_id_tipo_usuario = idTipoUsuario;
            obTbUsuario.te_foto = teFoto;
            obTbUsuario.te_nome = teNome;
            obTbUsuario.te_sobrenome = teSobrenome;
            obTbUsuario.cs_sexo = csSexo;
            obTbUsuario.perfil_compra_id_perfil_compra = idPerfilCompra;
            return obPUsuario.Alterar(idUsuario, obTbUsuario);
        }

    }
}
